import { IFeidaoAiBrowserComponent } from '@dfeidao/atom-web/interfaces';
import get from '@dfeidao/atom-web/local/get';
import remove from '@dfeidao/atom-web/local/remove';
import set from '@dfeidao/atom-web/local/set';
import fire from '@dfeidao/atom-web/msg/fire';
import nodejs from '@dfeidao/atom-web/msg/nodejs';
// import _hide from '../../atom-web/hide';
import error from '@dfeidao/atom-web/msgbox/error';
import success from '@dfeidao/atom-web/msgbox/success';
// import hide_loading from '../../atom-web/hide-loading';
// import show_loading from '../../atom-web/show-loading';
export default async function a003(fd: IFeidaoAiBrowserComponent, args: { id: string, currentTarget: HTMLElement }) {
	//  保存
	if (get(fd, 'prevent')) {
		return;
	}
	set(fd, 'prevent', 1);
	const dom = args.currentTarget; // 获取DOM
	const stw = dom.getAttribute('data-feidao-switch');
	const syid = fd.data.node.querySelector<HTMLInputElement>('#sysid').value;
	const r_name = fd.data.node.querySelector<HTMLInputElement>('#r_name').value;
	const tabname = fd.data.node.querySelector<HTMLInputElement>('#tabname').value;
	const fid = fd.data.node.querySelector<HTMLInputElement>('#fid').value;
	const ftitle = fd.data.node.querySelector<HTMLInputElement>('#ftitle').value;
	const s_field = fd.data.node.querySelector<HTMLInputElement>('#s_field').value;
	const s_title = fd.data.node.querySelector<HTMLInputElement>('#s_title').value;
	const moid = fd.data.node.querySelector<HTMLInputElement>('#moid').value;

	// const user = await whoami(get_user_info);
	// console.log(user)
	const prid = get(fd, 'productid');

	if (!r_name) {
		await error('请完善角色类型名称');
		// fire('zjc-000001', 'ec-001', 'please', '请完善角色类型名称');
		return;
	}
	if (!tabname) {
		await error('请完善主档表名');
		// fire('zjc-000001', 'ec-001', 'please', '请完善主档表名');
		return;
	}
	if (!fid) {
		await error('请完善主档属性字段');
		// fire('zjc-000001', 'ec-001', 'please', '请完善主档属性字段');
		return;
	}
	if (!ftitle) {
		await error('请完善主档属性字段标题');
		// fire('zjc-000001', 'ec-001', 'please', '请完善主档属性字段标题');
		return;
	}
	if (!s_field) {
		await error('请完善描述字段');
		// fire('zjc-000001', 'ec-001', 'please', '请完善描述字段');
		return;
	}
	if (!s_title) {
		await error('请完善描述字段标题');
		// fire('zjc-000001', 'ec-001', 'please', '请完善描述字段标题');
		return;
	}
	if (!moid) {
		await error('请完善引用模型');
		// fire('zjc-000001', 'ec-001', 'please', '请完善引用模型');
		return;
	}
	if (!syid) {
		await error('请完善systemid');
		// fire('zjc-000001', 'ec-001', 'please', '请完善systemid');
		return;
	}
	if (stw === 'false') {   // 判断开关状态
		await error('正在保存中');
		// fire('zjc-000001', 'ec-001', 'fail', '正在保存中');
		return;
	}
	dom.setAttribute('data-feidao-switch', 'false');// 在调用保存服务之前改变开关状态为false
	const query = {
		role_type_name: r_name,
		tablename: tabname,
		field: fid,
		fieldtitle: ftitle,
		search_field: s_field,
		search_title: s_title,
		modelid1: moid,
		sysid: syid,
		productid: prid
	};
	// show_loading();
	// const res = await nodejs(url, './permissions/role_type_add', query, false, false);
	const res = await nodejs('role-type/zj-000002/s002', query);
	// hide_loading();
	if (res === 'repert') {
		await error('角色类型名称重复，无法保存');
		return;
	}
	if (res === 'success') {
		dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
		fire('zj-000001', 'ec-002');
		fd.data.node.classList.add('display-n');
		await success('保存成功');
		// fire('zjc-000001', 'ec-001', 'success', '保存成功');
	} else {
		dom.setAttribute('data-feidao-switch', 'true');// 在拿到结果之后改变开关状态为true
		await error('保存失败');
		// fire('zjc-000001', 'ec-001', 'fail', '保存失败');
	}
	remove(fd, 'prevent');
}
